Performance Implications of Synchronization Support for Parallel Fortran Programs

نویسندگان

  • Sadun Anik
  • Wen-mei W. Hwu
چکیده

This paper studies the performance implications of architectural synchronization support for automatically parallelized numerical programs. As the basis for this work, we analyze the needs for synchronization in automatically parallelized numerical programs. The needs are due to task scheduling, iteration scheduling, barriers, and data dependence handling. We present synchronization algorithms for e cient execution of programs with nested parallel loops. Next, we identify how various hardware synchronization support can be used to satisfy these software synchronization needs. The synchronization primitives studied are test&set, fetch&add and exchange-byte operations. In addition to these, synchronization bus implementation of lock/unlock and fetch&add operations are also considered. Lastly, we ran experiments to quantify the impact of various architectural support on the performance of a bus-based shared memory multiprocessor running automatically parallelized numerical programs. We found that supporting an atomic fetch&add primitive in shared memory is as e ective as supporting lock/unlock operations with a synchronization bus. Both achieve substantial performance improvement over the cases where atomic test&set and exchange-byte operations are supported in shared memory.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Architectural and Software Support for Executing Numerical Applications on High Performance Computers By

Numerical applications require large amounts of computing power. Although shared memory multiprocessors provide a cost-e ective platform for parallel execution of numerical programs, parallel processing has not delivered the expected performance on these machines. There are two crucial steps in parallel execution of numerical applications: (1) e ective parallelization of an application and (2) ...

متن کامل

Compiler Support for Analysis and Tuning Data Parallel Programs Compiler Support for Analysis and Tuning Data Parallel Programs

Data parallel languages such as High-Performance Fortran (HPF) and Fortran D simplify the task of parallel programming by enabling users to express parallel algorithms at a high level. Compilers for these languages are responsible for realizing parallelism and inserting all interprocessor communication. For this reason, these compilers have detailed knowledge of the the relationship between its...

متن کامل

Compiler and Runtime Approach for Supporting Efficient Execution of Coarray Fortran Programs

Fortran remains a very widely used programming language for technical computing. Fortran coarrays are new elements in the Fortran standard which aim to support the development of parallel programs without requiring the use of external constructs such as libraries (e.g. MPI) or directives (e.g. OpenMP). Coarrays provide a Partitioned Global Address Space (PGAS) approach to parallel programming i...

متن کامل

Compiler Support for Analysis and Tuning Data Parallel Programs

Data parallel languages such as High-Performance Fortran (HPF) and Fortran D simplify the task of parallel programming by enabling users to express parallel algorithms at a high level. Compilers for these languages are responsible for realizing parallelism and inserting all interprocessor communication. For this reason, these compilers have detailed knowledge of the the relationship between its...

متن کامل

Compiling High Performance Fortran for Distributed-memory Systems

ming language for writing parallel programs. It is based on the Fortran 90 language, with extensions that enable the programmer to specify how array operations can be divided among multiple processors for increased performance. In HPF, the program specifies only the pattern in which the data is divided among the processors; the compiler automates the low-level details of synchronization and com...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Parallel Distrib. Comput.

دوره 22  شماره 

صفحات  -

تاریخ انتشار 1994